D3 布局
2022-04-21
布局(layout)是 D3 中最为重要的概念之一,其中他的作用就是进行一个数据的转换,以及进行分别进行计算图形的位置和形状的关系,他总共提供了饼布局、力布局、弦布局、树布局、捆布局、直方布局、矩阵树布局等七种常用布局:
| ID | DA |
|---|---|
| 饼布图(Pie) | 饼布图主要用于方便计算出饼图或圈内的弧线开始和结束的角度,如果没有 Layout,那通过 弧生成器也可以实现,但通过饼布图会更加的方便且更加智能 |
| 力布图 (Force) | 通过物理模拟的方式将力导向图更加灵活的实现位置的简单控制 |
| 弦布图(Chord) | 弦图所示的内容为一组实体或数据之间的关系,并通过使用不同的弧线之间画出二次被塞尔曲线,将关系表述在一张弦图中 |
| 树布图(Tree) | 树布图主要通过使用莱因戈尔德-蒂尔福德算法来产生一个简洁的树状节点,来展示层级结构 |
| 捆布图(Bundle) | 通过使用丹尼-霍尔登分层捆图的实现,将每个输入的连接来计算出一条路径,然后路径分别被不同的路径穿过,也就是说捆布图的主要作用就是计算链接路径 |
| 直方布局(Histogram) | 直方布图主要用于展示数据分布 |
| 矩形树布局(Treemap) | 矩形树布局由Ben Shneiderman在1991年提出,将一块矩形区域进行切割多次,来达到层级的效果 |
还有一种在 D3 极为不同的布局就是 层次布局,层次布局也被称之为分层布局,他是一种抽象的布局,不可以直接进行使用,但是他允许在不同的分层布局中共享节点,以他为中心分出了:
| ID | DA |
|---|---|
| Cluster | 簇实体构成的树状图 |
| Pack | 使用递归圆填充法来创建一个分层布局 |
| Partition | 将节点树递归划分成分辐射状或环状 |
| Tree | 将节点树整体放置 |
| Treemap | 使用递归空间划分显示节点树(虽然他不是分层布局,但捆绑布局可以同分层布局共同使用) |
